package com.suixun.dao.report;

import java.util.List;
import java.util.Map;

import com.suixun.entity.CustomReport;
import com.suixun.entity.RptActiveInfo;
import com.suixun.entity.page.PageModel;
/**
 * 
 * <p>Title: ReportActiveDao</p>
 * <p> 功能描述:报表生成 </p> 
 * @author	陈显强
 * @date	2017年1月16日上午11:43:11
 * @version 1.0
 */
public interface ReportActiveDao {
	/**
	 * 
	 * <p>Title: queryRptbyPaging</p>
	 * <p> 功能描述:分页查询缴费明细报表 </p>
	 * @param page
	 * @return
	 */
	public  List<RptActiveInfo> queryRptbyPaging(PageModel<?> page);
	/**
	 * 
	 * <p>Title: addReport</p>
	 * <p> 功能描述:新增自定义报表 </p>
	 * @param map
	 * @return
	 */
	public Integer addReport(Map<String,Object> map);
	/**
	 * 
	 * <p>Title: deleteReport</p>
	 * <p> 功能描述:删除指定自定义报表 </p>
	 * @param reportid
	 * @return
	 */
	public Integer deleteReport(Integer reportid);
	/**
	 * 
	 * <p>Title: queryReport</p>
	 * <p> 功能描述:查询自定义报表参数 </p>
	 * @param reportid
	 * @return
	 */
	public CustomReport queryReport(Integer reportid);
	/**
	 * 
	 * <p>Title: queryCustomReportByPaging</p>
	 * <p> 功能描述:查询自定义报表参数列表 </p>
	 * @param createid
	 * @return
	 */
	public List<CustomReport> queryCustomReportByPaging(PageModel<?> page);
	/**
	 * 
	 * <p>Title: countCustomReportRows</p>
	 * <p> 功能描述:查询自定义报表参数列表总行数 </p>
	 * @param map
	 * @return
	 */
	public Integer countCustomReportRows(PageModel<?> page);
	/**
	 * 
	 * <p>Title: queryReportOnlinePayByPaging</p>
	 * <p> 功能描述:查询购买明细表 </p>
	 * @return
	 */
	public List<RptActiveInfo> queryReportOnlinePayByPaging(PageModel<?> page);
	/**
	 * 获取续费账单
	 * @param map
	 * @return
	 */
	List<RptActiveInfo> getRenewalIncomes(Map<String,Object> map);
	/**
	 * 获取购买账单
	 * @param map
	 * @return
	 */
	List<RptActiveInfo> getPurchaseIncomes(Map<String,Object> map);
	/**
	 * 获取易极付退款账单
	 * @param map
	 * @return
	 */
	List<RptActiveInfo> getRefundIncomesByYiji(Map<String,Object> map);
	/**
	 * <p>Title: getDiscountIncomesByWechat</p>
	 * <p> 功能描述:获取微信优惠购买账单 </p>
	 * @param map
	 * @return
	 */
	List<RptActiveInfo> getDiscountIncomesByWechat(Map<String,Object> map);
	/**
	 * <p>Title: checkFirstRenewal</p>
	 * <p> 功能描述:检查是否是首次续费</p>
	 * @param map
	 * @return
	 */
	List<RptActiveInfo> checkFirstRenewal(Map<String,Object> map);
}
